package tests;

import common.Utils;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;

public class LoginPage extends Utils {
    public static String url = "http://8.137.19.140:9090/blog_login.html";

    public LoginPage() {

        super(url);
    }
    //测试页面否加载成功
    public void loginPageRight() throws InterruptedException {
        //通过捕捉页面元素来确定是否成功
        driver.findElement(By.cssSelector("body > div.nav > span"));
        driver.findElement(By.cssSelector("body > div.container-login > div > h3"));
        //强制等待2秒
        //Thread.sleep(100);

    }
    //测试正确登入
    public void LoginSuc(){
        //通过页面刷新来重置输入框
        driver.navigate().refresh();
        //输入账号密码
        driver.findElement(By.cssSelector("#username")).sendKeys("lisi");
        driver.findElement(By.cssSelector("#password")).sendKeys("123456");
        driver.findElement(By.cssSelector("#submit")).click();
        //检查页面是否登入成功  1:捕捉不同的页面元素来确定
        driver.findElement(By.cssSelector("body > div.container > div.left > div > img"));
        //2:页面的标题来确定
        String expect = driver.getTitle();
        //通过断言确认标题
        assert expect.equals("博客列表页");
        //执行完成需要回到登入页面
        driver.navigate().back();

    }
    //测试异常登入
    public void LoginFail() throws InterruptedException {
        //1:通过清空输入框来保证输入框没有文本
        driver.findElement(By.cssSelector("#username")).clear();
        driver.findElement(By.cssSelector("#password")).clear();
        //2:通过页面刷新来重置输入框
        driver.navigate().refresh();
        //输入错误的账号或者密码或者都不输入
        driver.findElement(By.cssSelector("#username")).sendKeys("admin");
        driver.findElement(By.cssSelector("#password")).sendKeys("1234");
        driver.findElement(By.cssSelector("#submit")).click();
      //需要等待一下，运行太快检测不到弹窗
        Thread.sleep(500);
        //处理警告弹窗
        Alert alert = driver.switchTo().alert();
        alert.accept();
        //和上面相同的，通过捕捉页面元素来确认是否异常登入
        driver.findElement(By.cssSelector("body > div.container-login > div > h3"));

    }
    public void LoginFail1() throws InterruptedException {
        //1:通过清空输入框来保证输入框没有文本
        driver.findElement(By.cssSelector("#username")).clear();
        driver.findElement(By.cssSelector("#password")).clear();
        //2:通过页面刷新来重置输入框
        driver.navigate().refresh();
        //都不输入
        driver.findElement(By.cssSelector("#username")).sendKeys("");
        driver.findElement(By.cssSelector("#password")).sendKeys("");
        driver.findElement(By.cssSelector("#submit")).click();

        Thread.sleep(500);
        //处理警告弹窗
        Alert alert = driver.switchTo().alert();
        alert.accept();
        //和上面相同的，通过捕捉页面元素来确认是否异常登入
        driver.findElement(By.cssSelector("body > div.container-login > div > h3"));

    }

}
